package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 【请填写功能名称】对象 labinfo_sample_data
 *
 * @author ruoyi
 * @date 2023-07-03
 */

@Data
public class LabinfoSampleData extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    private Long outId; //外部id

    /** 报告审核时间 */
    @Excel(name = "报告审核时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date reportCheckTime;

    /** 项目类型 */
    @Excel(name = "项目类型")
    private String itemType;

    /** 公司主体 */
    @Excel(name = "公司主体")
    private String companyBody;

    /** 送检单位名称 */
    @Excel(name = "送检单位名称")
    private String sjdwName;

    /** 收样区域 */
    @Excel(name = "收样区域")
    private String syArea;

    /** 产品英文简写 */
    @Excel(name = "产品英文简写")
    private String sampleDecWay;

    /** 送检单编号 */
    @Excel(name = "送检单编号")
    private String sampleSerialNumber;

    /** 送检码 */
    @Excel(name = "送检码")
    private String sampleBoxCode;

    /** 收费样本数量 */
    @Excel(name = "收费样本数量")
    private String chargeNum;

    /** 样本总数量 */
    @Excel(name = "样本总数量")
    private String wholeNum;

    /** 送检医生 */
    @Excel(name = "送检医生")
    private String sjys;

    /** 销售员 */
    @Excel(name = "销售员")
    private String saleman;

    /** 是否外送 */
    @Excel(name = "是否外送")
    private String isAway;

    /** 回款方式 */
    @Excel(name = "回款方式")
    private String cashType;

    /** 订单来源 */
    @Excel(name = "订单来源")
    private String orderSource;

    /** 业务类型 */
    @Excel(name = "业务类型")
    private String bussinessType;

    /** 受检人姓名 */
    @Excel(name = "受检人姓名")
    private String patientName;

    /** 受检人性别 */
    @Excel(name = "受检人性别")
    private String patientSex;

    /** 受检人年龄 */
    @Excel(name = "受检人年龄")
    private String patientAge;

    /** 受检人染色体 */
    @Excel(name = "受检人染色体")
    private String patientChromosome;

    /** 受检人核型 */
    @Excel(name = "受检人核型")
    private String patientKaryotype;

    /** 受检人电话 */
    @Excel(name = "受检人电话")
    private String patientPhone;

    /** 配偶姓名 */
    @Excel(name = "配偶姓名")
    private String mateName;

    /** 配偶性别 */
    @Excel(name = "配偶性别")
    private String mateSex;

    /** 配偶年龄 */
    @Excel(name = "配偶年龄")
    private String mateAge;

    /** 配偶染色体 */
    @Excel(name = "配偶染色体")
    private String mateChromosome;

    /** 配偶核型 */
    @Excel(name = "配偶核型")
    private String mateKaryotype;

    /** 采样日期 */
    @Excel(name = "采样日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date getSampleDate;

    /** 样本状态 */
    @Excel(name = "样本状态")
    private String sampleStatus;

    /** 医生是否签字确认 */
    @Excel(name = "医生是否签字确认")
    private String isConfirm;

    /** 患者是否签字 */
    @Excel(name = "患者是否签字")
    private String isSign;

    /** 送检单信息是否完整 */
    @Excel(name = "送检单信息是否完整")
    private String isWhole;

    /** 运输状态 */
    @Excel(name = "运输状态")
    private String sendStatus;

    /** 温度 */
    @Excel(name = "温度")
    private String temperature;

    /** 其他染色体,核型信息 */
    @Excel(name = "其他染色体,核型信息")
    private String otherChromosome;

    /** 女方母亲核型 */
    @Excel(name = "女方母亲核型")
    private String karyotypeWMo;

    /** 女方父亲核型 */
    @Excel(name = "女方父亲核型")
    private String karyotypeWFa;

    /** 男方母亲核型 */
    @Excel(name = "男方母亲核型")
    private String karyotypeMMo;

    /** 男方父亲核型 */
    @Excel(name = "男方父亲核型")
    private String karyotypeMFa;

    /** 收样日期 */
    @Excel(name = "收样日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date receiveSampleDate;

    /** 录入时间 */
    @Excel(name = "录入时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date enterDate;

    /** 样本编号 */
    @Excel(name = "样本编号")
    private String sampleId;

    /** 送检单样本名称 */
    @Excel(name = "送检单样本名称")
    private String sampleName;

    /** 样本类型 */
    @Excel(name = "样本类型")
    private String sampleType;

    /** 收样编号 */
    @Excel(name = "收样编号")
    private String sampleCode;

    /** 形态学评级 */
    @Excel(name = "形态学评级")
    private String sampleLevel;

    /** 病例ID */
    @Excel(name = "病例ID")
    private String caseId;

    /** 适应症 */
    @Excel(name = "适应症")
    private String disease;

    /** 分辨率 */
    @Excel(name = "分辨率")
    private String fbl;

    /** 家系代码 */
    @Excel(name = "家系代码")
    private String jxcode;

    /** 扩增方法 */
    @Excel(name = "扩增方法")
    private String kzMethod;

    /** 建库方法 */
    @Excel(name = "建库方法")
    private String jkMethod;

    /** RUN号 */
    @Excel(name = "RUN号")
    private String run;

    /** WGA扩增试剂盒货号 */
    @Excel(name = "WGA扩增试剂盒货号")
    private String wgaItemNo;

    /** WGA扩增试剂盒批号 */
    @Excel(name = "WGA扩增试剂盒批号")
    private String wgaBatchNo;

    /** 检测浓度（WGA扩增浓度） */
    @Excel(name = "检测浓度", readConverterExp = "W=GA扩增浓度")
    private String checkNd;

    /** 建库文库浓度（酶切打断文库浓度） */
    @Excel(name = "建库文库浓度", readConverterExp = "酶=切打断文库浓度")
    private String jkwkNd;

    /** CNV试剂盒名称 */
    @Excel(name = "CNV试剂盒名称")
    private String cnvKitName;

    /** CNV试剂盒批次 */
    @Excel(name = "CNV试剂盒批次")
    private String cnvKitLot;

    /** raw_reads */
    @Excel(name = "raw_reads")
    private String rawReads;

    /** high_quality_rate(%) */
    @Excel(name = "high_quality_rate(%)")
    private String highQualityRate;

    /** mapping_rate(%) */
    @Excel(name = "mapping_rate(%)")
    private String mappingRate;

    /** duplication_rate(%) */
    @Excel(name = "duplication_rate(%)")
    private String duplicationRate;

    /** coverage_of_genome(%) */
    @Excel(name = "coverage_of_genome(%)")
    private String coverageOfGenome;

    /** valid_reads */
    @Excel(name = "valid_reads")
    private String validReads;

    /** valid_reads_GC_content(%) */
    @Excel(name = "valid_reads_GC_content(%)")
    private String validReadsGcContent;

    /** valid_reads_rate(%) */
    @Excel(name = "valid_reads_rate(%)")
    private String validReadsRate;

    /** CV(1000K_bin_size) */
    @Excel(name = "CV(1000K_bin_size)")
    private String cv;

    /** data_QC_conclusion */
    @Excel(name = "data_QC_conclusion")
    private String dataQcConclusion;

    /** 性染色体核型 */
    @Excel(name = "性染色体核型")
    private String sexChromKaryotype;

    /** CNV检测结果 */
    @Excel(name = "CNV检测结果")
    private String cnvResult;

    /** 结果解释 */
    @Excel(name = "结果解释")
    private String resultExplain;

    /** 提示CNV */
    @Excel(name = "提示CNV")
    private String remindCnv;

    /** 染色体位置 */
    @Excel(name = "染色体位置")
    private String chromLocation;

    /** 报告链接 */
    @Excel(name = "报告链接")
    private String reportAddress;

    /** 报告生成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "报告生成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updatereportDate;

    /** 结果说明 */
    @Excel(name = "结果说明")
    private String resultInfo;

    /** 异倍体分析结果 */
    @Excel(name = "异倍体分析结果")
    private String heteroploidResult;

    /** 携带状态 */
    @Excel(name = "携带状态")
    private String carryStatus;

    /** 结果备注1 */
    @Excel(name = "结果备注1")
    private String resultRemark;

    /** 是否转MaReCs第二阶段 */
    @Excel(name = "是否转MaReCs第二阶段")
    private String isMoveMarecs2;

    /** 二阶段家系类型 */
    @Excel(name = "二阶段家系类型")
    private String twoJxType;

    /** 是否进入下一步易位筛查 */
    @Excel(name = "是否进入下一步易位筛查")
    private String isToNext;

    /** NICS评级 */
    @Excel(name = "NICS评级")
    private String nicsLevel;

    /** AI智能评分 */
    @Excel(name = "AI智能评分")
    private String aiSmartScore;

    /** 母源父源污染 */
    @Excel(name = "母源父源污染")
    private String moFaPollute;

    /** 基因 */
    @Excel(name = "基因")
    private String gene;

    /** 遗传模式 */
    @Excel(name = "遗传模式")
    private String ycms;

    /** 突变位点cHGVS */
    @Excel(name = "突变位点cHGVS")
    private String chgvs;

    /** 与受检夫妇亲缘关系 */
    @Excel(name = "与受检夫妇亲缘关系")
    private String relationship;

    /** 胚胎编号 */
    @Excel(name = "胚胎编号")
    private String ptbh;

    /** 是否连锁分析 */
    @Excel(name = "是否连锁分析")
    private String isAnalysis;

    /** 是否作为参考胚 */
    @Excel(name = "是否作为参考胚")
    private String isCkpt;

    /** Duplication_Rate_of_Mapped */
    @Excel(name = "Duplication_Rate_of_Mapped")
    private String duplicationRateOfMapped;

    /** Exonic_Rate */
    @Excel(name = "Exonic_Rate")
    private String exonicRate;

    /** Expression_Profiling_Efficiency */
    @Excel(name = "Expression_Profiling_Efficiency")
    private String expressionProfilingEfficiency;

    /** Genes_Detected */
    @Excel(name = "Genes_Detected")
    private String genesDetected;

    /** Intergenic_Rate */
    @Excel(name = "Intergenic_Rate")
    private String intergenicRate;

    /** Intragenic_Rate */
    @Excel(name = "Intragenic_Rate")
    private String intragenicRate;

    /** Intronic_Rate */
    @Excel(name = "Intronic_Rate")
    private String intronicRate;

    /** 受精方式 */
    @Excel(name = "受精方式")
    private String sjfs;

    /** 胚胎信息 */
    @Excel(name = "胚胎信息")
    private String ptInfo;

    /** 培养液采集方案 */
    @Excel(name = "培养液采集方案")
    private String pyySolution;

    /** 删除状态，0-正常，1-删除（停用） */
    @Excel(name = "删除状态，0-正常，1-删除", readConverterExp = "停=用")
    private Long isDelete;

    //新增字段
    private Long deptId;
    //是否已分享 1 是，0 否
    private String isShare;
    //被分享人的id
    private String sharedId;
    //被分享数据集合
    private Long[] ids;

//新增字段
    /** qc_conclusion */
    @Excel(name = "qc_conclusion")
    private String qcConclusion;
    /** qc_information */
    @Excel(name = "qc_information")
    private String qcInformation;
    /** detection_rate_autosome */
    @Excel(name = "detection_rate_autosome")
    private String detectionRateAutosome;
    /** ado_rate_autosome */
    @Excel(name = "ado_rate_autosome")
    private String adoRateAutosome;
    /** mendelError_rate_autosome */
    @Excel(name = "mendelError_rate_autosome")
    private String mendelErrorRateAutosome;
    /** 位点检测结果 */
    @Excel(name = "位点检测结果")
    private String siteResult;

    /** SNP连锁分析 */
    @Excel(name = "SNP连锁分析")
    private String snpAnalysis;
    /** 位点与SNP结果是否一致 */
    @Excel(name = "位点与SNP结果是否一致")
    private String siteSnpIsConsistent;
    /** 检测疾病名称 */
    @Excel(name = "检测疾病名称")
    private String diseaseName;

    @Excel(name = "其他信息")
    private String otherInfo;



    @Excel(name = "结果备注2")
    private String resultRemark2;

    @Excel(name = "结果备注3")
    private String resultRemark3;

    @Excel(name = "临床指证")
    private String clinicalIndication;

    @Excel(name = "变异携带结果")
    private String variationCarryResult;

    @Excel(name = "变异检测结果")
    private String variationResult;

    @Excel(name = "染色体断点结果")
    private String chromosomeBreakpointResult;

    @Excel(name = "结果一致性")
    private String resultConsistency;

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("reportCheckTime", getReportCheckTime())
                .append("itemType", getItemType())
                .append("companyBody", getCompanyBody())
                .append("sjdwName", getSjdwName())
                .append("syArea", getSyArea())
                .append("sampleDecWay", getSampleDecWay())
                .append("sampleSerialNumber", getSampleSerialNumber())
                .append("sampleBoxCode", getSampleBoxCode())
                .append("chargeNum", getChargeNum())
                .append("wholeNum", getWholeNum())
                .append("sjys", getSjys())
                .append("saleman", getSaleman())
                .append("isAway", getIsAway())
                .append("cashType", getCashType())
                .append("orderSource", getOrderSource())
                .append("bussinessType", getBussinessType())
                .append("patientName", getPatientName())
                .append("patientSex", getPatientSex())
                .append("patientAge", getPatientAge())
                .append("patientChromosome", getPatientChromosome())
                .append("patientKaryotype", getPatientKaryotype())
                .append("patientPhone", getPatientPhone())
                .append("mateName", getMateName())
                .append("mateSex", getMateSex())
                .append("mateAge", getMateAge())
                .append("mateChromosome", getMateChromosome())
                .append("mateKaryotype", getMateKaryotype())
                .append("getSampleDate", getGetSampleDate())
                .append("sampleStatus", getSampleStatus())
                .append("isConfirm", getIsConfirm())
                .append("isSign", getIsSign())
                .append("isWhole", getIsWhole())
                .append("sendStatus", getSendStatus())
                .append("temperature", getTemperature())
                .append("otherChromosome", getOtherChromosome())
                .append("karyotypeWMo", getKaryotypeWMo())
                .append("karyotypeWFa", getKaryotypeWFa())
                .append("karyotypeMMo", getKaryotypeMMo())
                .append("karyotypeMFa", getKaryotypeMFa())
                .append("receiveSampleDate", getReceiveSampleDate())
                .append("enterDate", getEnterDate())
                .append("sampleId", getSampleId())
                .append("sampleName", getSampleName())
                .append("sampleType", getSampleType())
                .append("sampleCode", getSampleCode())
                .append("sampleLevel", getSampleLevel())
                .append("caseId", getCaseId())
                .append("disease", getDisease())
                .append("fbl", getFbl())
                .append("jxcode", getJxcode())
                .append("kzMethod", getKzMethod())
                .append("jkMethod", getJkMethod())
                .append("run", getRun())
                .append("wgaItemNo", getWgaItemNo())
                .append("wgaBatchNo", getWgaBatchNo())
                .append("checkNd", getCheckNd())
                .append("jkwkNd", getJkwkNd())
                .append("cnvKitName", getCnvKitName())
                .append("cnvKitLot", getCnvKitLot())
                .append("rawReads", getRawReads())
                .append("highQualityRate", getHighQualityRate())
                .append("mappingRate", getMappingRate())
                .append("duplicationRate", getDuplicationRate())
                .append("coverageOfGenome", getCoverageOfGenome())
                .append("validReads", getValidReads())
                .append("validReadsGcContent", getValidReadsGcContent())
                .append("validReadsRate", getValidReadsRate())
                .append("cv", getCv())
                .append("dataQcConclusion", getDataQcConclusion())
                .append("sexChromKaryotype", getSexChromKaryotype())
                .append("cnvResult", getCnvResult())
                .append("resultExplain", getResultExplain())
                .append("remindCnv", getRemindCnv())
                .append("chromLocation", getChromLocation())
                .append("reportAddress", getReportAddress())
                .append("updatereportDate", getUpdatereportDate())
                .append("resultInfo", getResultInfo())
                .append("heteroploidResult", getHeteroploidResult())
                .append("carryStatus", getCarryStatus())
                .append("resultRemark", getResultRemark())
                .append("isMoveMarecs2", getIsMoveMarecs2())
                .append("twoJxType", getTwoJxType())
                .append("isToNext", getIsToNext())
                .append("nicsLevel", getNicsLevel())
                .append("aiSmartScore", getAiSmartScore())
                .append("moFaPollute", getMoFaPollute())
                .append("gene", getGene())
                .append("ycms", getYcms())
                .append("chgvs", getChgvs())
                .append("relationship", getRelationship())
                .append("ptbh", getPtbh())
                .append("isAnalysis", getIsAnalysis())
                .append("isCkpt", getIsCkpt())
                .append("duplicationRateOfMapped", getDuplicationRateOfMapped())
                .append("exonicRate", getExonicRate())
                .append("expressionProfilingEfficiency", getExpressionProfilingEfficiency())
                .append("genesDetected", getGenesDetected())
                .append("intergenicRate", getIntergenicRate())
                .append("intragenicRate", getIntragenicRate())
                .append("intronicRate", getIntronicRate())
                .append("sjfs", getSjfs())
                .append("ptInfo", getPtInfo())
                .append("pyySolution", getPyySolution())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("isDelete", getIsDelete())
                .toString();
    }
}
